package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

func main() {
	gin.SetMode(gin.DebugMode)
	g := gin.Default()
	// HTTP 重定向很容易
	// 通过 GET 方法进行 HTTP 301 重定向
	g.GET("/redirect-test-1", func(c *gin.Context) {
		c.Redirect(http.StatusMovedPermanently, "http://www.weiyigeek.top/")
	})

	//  GET 方法进行 HTTP  302 重定向
	g.POST("/redirect-test-2", func(c *gin.Context) {
		c.Redirect(http.StatusFound, "/test2")
	})

	// 通过使用 HandleContext 进行路由重定向
	g.GET("/test1", func(c *gin.Context) {
		c.Request.URL.Path = "/test2"
		g.HandleContext(c) // 返回的是 /test2 路由的数据
	})
	g.GET("/test2", func(c *gin.Context) {
		c.JSON(200, gin.H{"hello": "world"})
	})

	// 默认监听并在 0.0.0.0:8080 上启动服务
	g.Run()
}
